<?php
/**
 * Description of TSqlUpdateclass
 *
 * @author Saulo
 */
final class TSqlUpdate extends TSqlInstruction {
    /*setRowData()
     * @param $column = Coluna
     * @param $value = Valor;
     */
    public function setRowData($column, $value)
    {
        //monta um array indexado pelo nome da coluna
       if(is_string($value))
        {
            $value = addslashes($value);
            //caso seja uma string
            $this->columnValues[$column] = "'$value'";
        }
       else if(is_bool($value))
        {
            $this->columnValues[$column] = $value ? 'TRUE':'FALSE';
        }
        else if(isset($value))
        {
            $this->columnValues[$column] = $value;
        }else{
            //caso seja NUll
            $this->columnValues[$column] = "NULL";
        }
    }

     public function getInstruction()
    {
        $this->sql = "UPDATE {$this->entity} ";
        //monta os pares, coluna = valor
        if($this->columnValues)
        {
            foreach($this->columnValues as $column => $value)
            {
                $set[] = "{$column} = {$value}";
            }
        }
        $this->sql .= ' SET '.implode(',', $set);

        //Retorna a cláusual WHERE do objeto $this->criteria;
        if($this->criteria)
        {
            $this->sql .=' WHERE ' . $this->criteria->dump();
        }
        return utf8_decode($this->sql);
     }



    }
?>
